package com.example.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.util.Date;
import java.io.Serializable;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;

/**
 * <p>
 * 数据标准目录表
 * </p>
 *
 * @author zhj
 * @since 2023-03-23
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="Standard对象", description="数据标准目录表")
public class Standard implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键id")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "标准编号--固定格式：字符“BZ”+5位数字“00001”")
    private String stdCode;

    @ApiModelProperty(value = "中文名称")
    @NotBlank
    private String stdChinese;

    @ApiModelProperty(value = "英文名称")
    @NotBlank
    private String stdEnglish;

    @ApiModelProperty(value = "标准说明")
    private String stdDesc;

    @ApiModelProperty(value = "来源机构")
    private String stdSource;

    @ApiModelProperty(value = "数据类型 枚举类stdType")
    private String stdType;

    @ApiModelProperty(value = "数据长度")
    private Integer stdLength;

    @ApiModelProperty(value = "数据精度保留小数点后一位为1   保留后两位为2  以此类推")
    private Integer stdPrecision;

    @ApiModelProperty(value = "默认值")
    private String stdDefault;

    @ApiModelProperty(value = "最小值")
    private String stdMin;

    @ApiModelProperty(value = "标准最大值")
    private String stdMax;

    @ApiModelProperty(value = "码表编号")
    private String tbId;

    @ApiModelProperty(value = "是否为空 0:可为空 1：不可为空")
    private Boolean stdEmpty;

    @ApiModelProperty(value = "标准状态0：未发布，1发布，2已停用")
    private Integer status;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "修改时间")
    private Date updateTime;

    @ApiModelProperty(value = "版本号")
    private Integer version;

    @ApiModelProperty(value = "0-未删除；1-已删除")
    @TableField("is_del")
    @TableLogic //用来逻辑删除
    private Boolean del;


}
